草庐IT

c++ - 使用 boost::lambda::bind 有什么问题?

全部标签

ruby - 为什么没有更多的项目使用 Ruby Symbols 而不是 Strings?

当我第一次开始阅读和学习ruby​​时,我读到了一些关于ruby​​符号相对于字符串的强大功能:符号只在内存中存储一​​次,而字符串每个字符串在内存中存储一​​次,即使它们是相同的。比如:Rails的paramsHash在Controller中有一堆key作为符号:params[:id]orparams[:title]...但是Sinatra和Jekyll等其他规模适中的项目不会这样做:杰基尔:post.data["title"]orpost.data["tags"]...西纳特拉:params["id"]orparams["title"]...这使得阅读新代码变得有些棘手,并且难以转

ruby-on-rails - rake cucumber 和 rake spec 始终使用 "develop"环境

我运行Cucumber和RSpec测试的rake任务总是使用我的开发环境。这里是相关的配置文件:RAILS_ROOT/config/environments/cucumber.rb#Editatyourownperil-it'srecommendedtoregeneratethisfile#inthefuturewhenyouupgradetoanewerversionofCucumber.#IMPORTANT:Settingconfig.cache_classestofalseisknownto#breakCucumber'suse_transactional_fixturesmet

ruby - 如何让 xcode 在运行脚本时使用正确版本的 ruby​​?

在xcode中,我有一个运行ruby​​脚本的“运行脚本”构建阶段。但是,似乎xcode正在尝试使用默认的mac1.8版本的ruby​​而不是最新版本来运行它。鉴于脚本需要一个gem,它失败并出现require错误并且错误中的路径指向/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/显然,该路径中的1.8让我产生了怀疑。如果我打开终端并运行命令ruby-v然后它会正确返回2.0.0p0我使用RVM安装并设置为默认值。如何让Xcode在正确的位置查找?还是我误解了这个错误?更新

ruby-on-rails - readline 有什么问题?

我使用不同的操作系统以及Rails3和Rails4设置了三次Rails环境。直到我打开控制台输入一些Ruby,或者使用railsconsole或Rails数据库控制台。我得到类似于:$railsconsole/home/tobias/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/completion.rb:9:in`require':nosuchfiletoload--readline(LoadError)from/home/tobias/.rvm/rubies/ruby-1.9.2-p18080/lib/ruby/1.9.1/irb/c

ruby - "Don' t run bundler as root”- 使用 root 的确切区别是什么?

如果您在以root身份登录时从命令行运行ruby​​bundler,您会收到以下警告:Don'trunBundlerasroot.Bundlercanaskforsudoifitisneeded,andinstallingyourbundleasrootwillbreakthisapplicationforallnon-rootusersonthismachine.以root身份运行bundler对它安装的gem有什么确切的区别?是否与它为每个gem安装的实际文件的权限有关?Ruby会尝试以非root用户身份访问gem文件吗(如果是,Ruby会使用哪个用户/组,我将如何找到)?如果应用

ruby-on-rails - 为什么 Rails 将 "drive"更改为 "drife"?

我刚刚运行了这个..railsgscaffoldshared_drivedrive_name:stringdrive_path:stringsecurity_group_read:stringsecurity_group_modify:string当我打开路径localhost:3000/shared_drives/new时,header显示为NewSharedDrife当我尝试在此页面上创建一个新对象时,出现此错误ActionController::ParameterMissinginSharedDrivesController#createparamismissingortheva

ruby-on-rails - 为什么 Strong Params 包含允许的 : false

我在Controller的update操作顶部放入了一个binding.pry。在该断点处,我输入params[:foo_bar]来检查params散列。这是我得到的:"✓","_method"=>"patch","authenticity_token"=>"123==","foobar"=>{"start_date"=>"08/27/2016","end_date"=>"08/29/2016","id"=>"89"},"bazz_id"=>"3","abc_id"=>"330","bazzbazz_attributes"=>{"0"=>{"_destroy"=>"1","city_i

ruby-on-rails - 如何使用 RestClient 修复 Ruby 中的套接字错误?

我正在使用RestClient在ruby​​类中进行网络调用。每当我未连接到Internet时,我都会收到SocketError。我已经添加了一个救援block来捕获异常,但我仍然无法这样做。错误信息是:SocketError(无法打开到api.something.com:443的TCP连接(getaddrinfo:名称或服务未知))moduleMyProjectclassClientdefget_object(url,params={})response=RestClient.get(url,{params:params})rescueSocketError=>eputs"InSoc

ruby - 为什么 Ruby 会在线上为最后一个 undefined variable 引发错误?

假设foo、bar和baz没有定义,行foobarbaz引发此错误:NameError(main:Object的未定义局部变量或方法“baz”)在Python、PHP和Javascript的REPL中,foo(bar(baz))中的第一个问题是未定义foo。为什么Ruby首先提示baz? 最佳答案 Ruby允许调用的第一个方法(baz)动态定义其他两个方法。在实际方法调用发生之前,它不会尝试将foo或bar解析为方法调用,并且它永远不会作为baz到达该方法调用首先导致错误。如果baz动态定义方法foo和bar,没有问题:defbaz

ruby-on-rails - Rails 使用什么 Ruby 技术让我的 Controller 方法呈现 View ?

只是想知道是否有人知道在Rails框架中使用什么Ruby技术来完成以下任务。如果我不在RailsController上编写一个index方法,如果URL匹配该路由,Rails仍会呈现索引View文件。这是有道理的,因为我的Controller继承自父类,它必须有自己的index方法。但是,如果我确实定义了一个index方法,并且只告诉它设置一个实例变量,它仍然会呈现适当的View。例如:defindex@weasels=Weasel.all#IfIomitthisline,Railsrenderstheindexanyway.#Ifthisbehaviorisdefinedinthep